/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Equivalents;

import EA_Model.IEC61970.Domain.ActivePower;
import EA_Model.IEC61970.Domain.Voltage;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Equivalent Injection</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getMaxP <em>Max P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getMinP <em>Min P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationCapability <em>Regulation Capability</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationStatus <em>Regulation Status</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationTarget <em>Regulation Target</em>}</li>
 * </ul>
 * </p>
 *
 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection()
 * @model
 * @generated
 */
public interface EquivalentInjection extends EquivalentEquipment {
	/**
	 * Returns the value of the '<em><b>Max P</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Max P</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Max P</em>' reference.
	 * @see #setMaxP(ActivePower)
	 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection_MaxP()
	 * @model ordered="false"
	 * @generated
	 */
	ActivePower getMaxP();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getMaxP <em>Max P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Max P</em>' reference.
	 * @see #getMaxP()
	 * @generated
	 */
	void setMaxP(ActivePower value);

	/**
	 * Returns the value of the '<em><b>Min P</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Min P</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Min P</em>' reference.
	 * @see #setMinP(ActivePower)
	 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection_MinP()
	 * @model ordered="false"
	 * @generated
	 */
	ActivePower getMinP();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getMinP <em>Min P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Min P</em>' reference.
	 * @see #getMinP()
	 * @generated
	 */
	void setMinP(ActivePower value);

	/**
	 * Returns the value of the '<em><b>Regulation Capability</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Regulation Capability</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Regulation Capability</em>' reference.
	 * @see #setRegulationCapability(EA_Model.IEC61970.Domain.Boolean)
	 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection_RegulationCapability()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Boolean getRegulationCapability();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationCapability <em>Regulation Capability</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Regulation Capability</em>' reference.
	 * @see #getRegulationCapability()
	 * @generated
	 */
	void setRegulationCapability(EA_Model.IEC61970.Domain.Boolean value);

	/**
	 * Returns the value of the '<em><b>Regulation Status</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Regulation Status</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Regulation Status</em>' reference.
	 * @see #setRegulationStatus(EA_Model.IEC61970.Domain.Boolean)
	 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection_RegulationStatus()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Boolean getRegulationStatus();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationStatus <em>Regulation Status</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Regulation Status</em>' reference.
	 * @see #getRegulationStatus()
	 * @generated
	 */
	void setRegulationStatus(EA_Model.IEC61970.Domain.Boolean value);

	/**
	 * Returns the value of the '<em><b>Regulation Target</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Regulation Target</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Regulation Target</em>' reference.
	 * @see #setRegulationTarget(Voltage)
	 * @see EA_Model.IEC61970.Equivalents.EquivalentsPackage#getEquivalentInjection_RegulationTarget()
	 * @model ordered="false"
	 * @generated
	 */
	Voltage getRegulationTarget();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Equivalents.EquivalentInjection#getRegulationTarget <em>Regulation Target</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Regulation Target</em>' reference.
	 * @see #getRegulationTarget()
	 * @generated
	 */
	void setRegulationTarget(Voltage value);

} // EquivalentInjection
